{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  k-Nearest Neighbor with Randomized Search\n",
    "KNN classifier is trained on feature set 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stored variables and their in-db values:\n",
      "X_16_val                  -> array([[ 3.00880939,  0.26443017,  1.05370334, ...\n",
      "X_32_val                  -> array([[-0.13964146,  0.53184264, -0.71694033, ...\n",
      "X_32test_std              -> defaultdict(<class 'list'>, {0: array([[-0.1396414\n",
      "X_32train_std             -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "X_test                    -> defaultdict(<class 'list'>, {0: array([[[-0.006215\n",
      "X_test_std                -> defaultdict(<class 'list'>, {0: array([[ 3.0088093\n",
      "X_train                   -> array([[[-0.01174874, -0.00817356, -0.0042913 , ..\n",
      "X_train_std               -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "snrs                      -> [-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, \n",
      "y_16_val                  -> array([3, 5, 1, ..., 2, 4, 0])\n",
      "y_32_test                 -> defaultdict(<class 'list'>, {0: array([2, 2, 3, ..\n",
      "y_32_train                -> array([5, 0, 2, ..., 4, 6, 6])\n",
      "y_32_val                  -> array([2, 2, 3, ..., 0, 3, 5])\n",
      "y_test                    -> defaultdict(<class 'list'>, {0: array([3, 5, 1, ..\n",
      "y_train                   -> array([5, 0, 2, ..., 4, 6, 6])\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "from collections import defaultdict\n",
    "from time import time\n",
    "import pickle  \n",
    "import sklearn\n",
    "from sklearn import metrics\n",
    "from sklearn.model_selection import RandomizedSearchCV\n",
    "\n",
    "%store -r\n",
    "%store"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training data:  (80000, 16) and labels:  (80000,)\n",
      " \n",
      "Test data:\n",
      "Total 20 (4000, 16) arrays for SNR values:\n",
      "[-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]\n"
     ]
    }
   ],
   "source": [
    "print(\"Training data: \", X_train_std.shape, \"and labels: \", y_train.shape)\n",
    "print(\" \")\n",
    "print(\"Test data:\")\n",
    "print(\"Total\", len(X_test_std), X_test_std[18].shape, \"arrays for SNR values:\")\n",
    "print(sorted(X_test_std.keys()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train and test the classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 10 candidates, totalling 30 fits\n",
      "Randomized search took 10.00 minutes \n",
      "   \n",
      "Result of randomized search, best estimator:\n",
      "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='cityblock',\n",
      "           metric_params=None, n_jobs=1, n_neighbors=17, p=2,\n",
      "           weights='uniform')\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  30 out of  30 | elapsed: 10.7min finished\n"
     ]
    }
   ],
   "source": [
    "#Train the classifier\n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "params = {'n_neighbors': np.arange(1, 31, 2), 'metric': ['euclidean', 'cityblock']}\n",
    "\n",
    "rand_search_cv = RandomizedSearchCV(KNeighborsClassifier(algorithm='auto'), params, verbose=1)\n",
    "\n",
    "start = time()\n",
    "rand_search_cv.fit(X_train_std, y_train)\n",
    "print(\"Randomized search took %.2f minutes \"%((time() - start)//60))\n",
    "print(\"   \")\n",
    "print(\"Result of randomized search, best estimator:\")\n",
    "print(rand_search_cv.best_estimator_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test the classifier\n",
      "  \n",
      "k-Nearest Neighbor's Accuracy on -20 dB SNR samples =  0.11675\n",
      "k-Nearest Neighbor's Accuracy on -18 dB SNR samples =  0.13\n",
      "k-Nearest Neighbor's Accuracy on -16 dB SNR samples =  0.12125\n",
      "k-Nearest Neighbor's Accuracy on -14 dB SNR samples =  0.12675\n",
      "k-Nearest Neighbor's Accuracy on -12 dB SNR samples =  0.14425\n",
      "k-Nearest Neighbor's Accuracy on -10 dB SNR samples =  0.1625\n",
      "k-Nearest Neighbor's Accuracy on -8 dB SNR samples =  0.22275\n",
      "k-Nearest Neighbor's Accuracy on -6 dB SNR samples =  0.2895\n",
      "k-Nearest Neighbor's Accuracy on -4 dB SNR samples =  0.3455\n",
      "k-Nearest Neighbor's Accuracy on -2 dB SNR samples =  0.3665\n",
      "k-Nearest Neighbor's Accuracy on 0 dB SNR samples =  0.4255\n",
      "k-Nearest Neighbor's Accuracy on 2 dB SNR samples =  0.53925\n",
      "k-Nearest Neighbor's Accuracy on 4 dB SNR samples =  0.64175\n",
      "k-Nearest Neighbor's Accuracy on 6 dB SNR samples =  0.663\n",
      "k-Nearest Neighbor's Accuracy on 8 dB SNR samples =  0.67525\n",
      "k-Nearest Neighbor's Accuracy on 10 dB SNR samples =  0.683\n",
      "k-Nearest Neighbor's Accuracy on 12 dB SNR samples =  0.68625\n",
      "k-Nearest Neighbor's Accuracy on 14 dB SNR samples =  0.68175\n",
      "k-Nearest Neighbor's Accuracy on 16 dB SNR samples =  0.666\n",
      "k-Nearest Neighbor's Accuracy on 18 dB SNR samples =  0.6615\n"
     ]
    }
   ],
   "source": [
    "#Test the classifier\n",
    "\n",
    "import collections\n",
    "\n",
    "y_pred = defaultdict(list)\n",
    "accuracy = defaultdict(list)\n",
    "\n",
    "print(\"Test the classifier\")\n",
    "print(\"  \")\n",
    "for snr in snrs:\n",
    "    y_pred[snr] = rand_search_cv.predict(X_test_std[snr])\n",
    "    accuracy[snr] = metrics.accuracy_score(y_test[snr], y_pred[snr])\n",
    "    print(\"k-Nearest Neighbor's Accuracy on %d dB SNR samples = \"%(snr), accuracy[snr])   \n",
    "    \n",
    "accuracy = collections.OrderedDict(sorted(accuracy.items()))  #sort by ascending SNR values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualize classifier performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x216174ba710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.style.use('classic')\n",
    "\n",
    "fig = plt.figure(figsize=(8, 4), dpi=100)\n",
    "x = snrs\n",
    "y = list(accuracy.values())\n",
    "plt.plot(x, y, marker=\"o\", linewidth=2.0, linestyle='dashed', color='royalblue')\n",
    "plt.axis([-20, 20, 0, 1])\n",
    "plt.xticks(np.arange(min(x), max(x)+1, 2.0))\n",
    "plt.yticks(np.arange(0, 1, 0.10))\n",
    "\n",
    "ttl = plt.title('SNR vs Accuracy', fontsize=16)\n",
    "ttl.set_weight('bold')\n",
    "plt.xlabel('SNR (dB)', fontsize=14)\n",
    "plt.ylabel('Test accuracy', fontsize=14)\n",
    "plt.grid()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix Without Normalization\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK    260     2      2     2     2     66     54   135\n",
      "BPSK      1   485      0     0    21      9     11     4\n",
      "CPFSK    56     0    451   119     1     17      9    63\n",
      "GFSK     16     1     46   377     0     10     15    16\n",
      "PAM4      1    12      0     0   474      6      8     1\n",
      "QAM16    24     0      0     0     1    159    188    19\n",
      "QAM64    13     0      0     0     1    193    190    12\n",
      "QPSK    129     0      1     2     0     40     25   250\n"
     ]
    }
   ],
   "source": [
    "# Confusion Matrix\n",
    "\n",
    "from sklearn.metrics import confusion_matrix\n",
    "import pandas as pd\n",
    "\n",
    "classes = ['8PSK', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK']\n",
    "y_predicted = rand_search_cv.predict(X_test_std[18])\n",
    "conf_matrix = confusion_matrix(y_predicted, y_test[18]) \n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix Without Normalization\")\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK   0.50  0.00   0.00  0.00  0.00   0.13   0.10  0.26\n",
      "BPSK   0.00  0.91   0.00  0.00  0.04   0.02   0.02  0.01\n",
      "CPFSK  0.08  0.00   0.63  0.17  0.00   0.02   0.01  0.09\n",
      "GFSK   0.03  0.00   0.10  0.78  0.00   0.02   0.03  0.03\n",
      "PAM4   0.00  0.02   0.00  0.00  0.94   0.01   0.02  0.00\n",
      "QAM16  0.06  0.00   0.00  0.00  0.00   0.41   0.48  0.05\n",
      "QAM64  0.03  0.00   0.00  0.00  0.00   0.47   0.46  0.03\n",
      "QPSK   0.29  0.00   0.00  0.00  0.00   0.09   0.06  0.56\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc16dbb6cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Normalize the matrix\n",
    "\n",
    "conf_matrix = conf_matrix.astype('float') / conf_matrix.sum(axis=1)[:, np.newaxis]\n",
    "conf_matrix = conf_matrix.round(decimals = 2)\n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix\")\n",
    "print(df)\n",
    "\n",
    "fig1 = plt.figure(figsize=(8, 4), dpi=100)\n",
    "plt.imshow(conf_matrix, interpolation = 'nearest', cmap = plt.cm.Purples)\n",
    "ticks = np.arange(len(classes))\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.xticks(ticks, classes, rotation=45)\n",
    "plt.yticks(ticks, classes)\n",
    "\n",
    "plt.ylabel('True class')\n",
    "plt.xlabel('Predicted class')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.colorbar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['knn4.pkl']"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.externals import joblib\n",
    "\n",
    "joblib.dump(rand_search_cv, \"knn4.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pickle\n",
    "from sklearn.externals import joblib\n",
    "rand_search_cv = joblib.load(\"knn4.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
